#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>

int gval = 100;
int unval;

int main()
{
    printf("code addr:%p\n",main);
    printf("gval addr:%p\n",&gval);
    printf("unval addr:%p\n",&unval);

    int *mem = (int*)malloc(10*sizeof(int));
    printf("heap addr：%p\n",&mem);

    int a,b,c;
    printf("stack addr：%p\n",&a);
    printf("stack addr：%p\n",&b);
    printf("stack addr：%p\n",&c);



   // printf("我是一个进程，我的pid：%d, 我的ppid：%d\n", getpid(), getppid());
   // 
   // pid_t id = fork();
   // if(id == 0)
   // {
   //     // child
   //     while(1)
   //     {
   //         printf("我是子进程，pid：%d, ppid：%d, gval: %d, &gval: %p\n", getpid(), getppid(), gval, &gval);
   //         gval++;
   //         sleep(1);
   //     }
   // }
   // else 
   // {
   //     // parent
   //     while(1)
   //     {
   //         printf("我是父进程，pid：%d, ppid：%d, gval: %d, &gval: %p\n", getpid(), getppid(), gval, &gval);
   //         sleep(1);
   //     }
   // }
    return 0;
}
